package javax.realtime;

public abstract class Scheduler {

    public static Scheduler getDefaultScheduler() {
        return null;
    }

    public static void setDefaultScheduler(Scheduler paramScheduler) {
    }

    protected abstract boolean addToFeasibility(Schedulable paramSchedulable);

    public abstract void fireSchedulable(Schedulable paramSchedulable);

    public abstract String getPolicyName();

    public abstract boolean isFeasible();

    protected abstract boolean removeFromFeasibility(
            Schedulable paramSchedulable);

    public abstract boolean setIfFeasible(Schedulable paramSchedulable,
            ReleaseParameters paramReleaseParameters,
            MemoryParameters paramMemoryParameters);

    public abstract boolean setIfFeasible(Schedulable paramSchedulable,
            ReleaseParameters paramReleaseParameters,
            MemoryParameters paramMemoryParameters,
            ProcessingGroupParameters paramProcessingGroupParameters);

    public abstract boolean setIfFeasible(Schedulable paramSchedulable,
            SchedulingParameters paramSchedulingParameters,
            ReleaseParameters paramReleaseParameters,
            MemoryParameters paramMemoryParameters,
            ProcessingGroupParameters paramProcessingGroupParameters);

    MemoryParameters getDefaultMemoryParameters() {
        return null;
    }

    ReleaseParameters getDefaultReleaseParameters() {
        return null;
    }

    SchedulingParameters getDefaultSchedulingParameters() {
        return null;
    }

    ProcessingGroupParameters getDefaultProcessingGroupParameters() {
        return null;
    }

    void accept(MemoryParameters paramMemoryParameters) {
    }

    void accept(ReleaseParameters paramReleaseParameters) {
    }

    void accept(SchedulingParameters paramSchedulingParameters) {
    }

    void accept(ProcessingGroupParameters paramProcessingGroupParameters) {
    }

    void acceptPeriodicParameters(RelativeTime paramRelativeTime1,
            RelativeTime paramRelativeTime2) {
    }
}